1. Field of the Invention
The present invention relates to the control of the UBR service class. The present invention also relates to service class sharing in queues. More specifically, the present invention relates to bandwidth and buffer control in FIFO queues which must serve two kinds of service classes.
2. Description of the Prior Art
In devices for sending data, two service classes, ABR (available bit rate) and UBR (unspecified bit rate) are often used in tandem to provide different types of best-effort service classes.
The UBR service class is well known in the prior art. This service class is intended to use any available unused bandwidth from other classes. The method for controlling the buffer in the use of UBR service is the intelligent frame discard mechanism EPD (early packet discard). When new data arrives at the buffer but the buffer has been filled beyond a specific level, the new data is dropped. This specific level of the buffer which triggers packet dropping is the EPD threshold.
The ABR service class is also well known in the prior art. ABR service is based on a reactive schemexe2x80x94the use of ABR service allows dynamic response to the current availability of buffer and bandwidth, allowing the use of any resources that are not being consumed by higher-priority service classes and so providing for use of a valuable resource without unduly harming the performance of those higher-priority service classes.
ABR service economically supports applications where guidelines are available as to the range of viable bandwidth requirements of those applications, but not specific bandwidth is required. Applications served by ABR service are expected to recognize the amount of throughput that is being provided through ABR and to adjust to changes in the available resources. Applications served by ABR can expect only that the MCR (minimum cell rate) of connections that have been admitted to ABR service will be maintained, with a reasonably low rate of cell loss.
This would occur in an ATM (asynchronous transfer mode) switch containing at least one input port and at least one output port, each port having an associated transmission link, which is well known in the prior art.
In order to provide service to both the ABR (available bit rate) and UBR (unspecified bit rate) service classes, the prior art teaches using separate queues, with separate buffer and bandwidth allotments.
ABR and UBR service classes have no strict QoS (Quality of Service) requirements in terms of delay and/or cell loss rate.
In order to provide ABR and UBR service, the prior art discloses the use of two queues, each with separate buffer and bandwidth allotments. Each queue must be separately supported by the scheduler, and the queues are costly resources, especially for use on best-effort service classes.
A method and apparatus for providing ABR and UBR services with one FIFO queue. The queue accepts UBR data until a threshold queue capacity (EPD) is reached, at which point data is dropped. This threshold is dynamically adjusted by adding a value proportional to the difference between the actual UBR bandwidth and the target UBR bandwidth. Applications sending data for ABR service are provided with a feedback which allows those applications to regulate the speed at which data is transmitted to the queue, this feedback is a function of some threshold value (AQT) which is also dynamically adjusted as described above. If the queue is being underutilized, an adjustment is made to both EPD and AQT.